# Coching, Mae - Asynch Day 4 - Game? # I used most of Reaction_Time from Mission 10. # User has a health of 1000, which is decreased by their reaction time. # Score is the number of times they press button a before their health is gone. # TODO for next time: Make a function so player has option to play again. from codex import * import time import random def wait_button(): # Wait for Button A. while True: if buttons.was_pressed(BTN_A): break total_time = 1000 presses = 0 while total_time >= 0: display.print("Press Button A") wait_button() display.clear() #All pixels off pixels.set([BLACK, BLACK, BLACK, BLACK]) #Display countdown display.print("3", scale = 5) time.sleep(0.2) display.print("2", scale = 5) time.sleep(0.2) display.print("1", scale = 5) time.sleep(0.2) display.clear() ms = random.randrange(1000, 3000) delay_time = ms / 1000 time.sleep(delay_time) # Reset button buttons.was_pressed(BTN_A) # Lights on pixels.set([GREEN, GREEN, GREEN, GREEN]) # Mark time while awaiting reaction start_time = time.ticks_ms() wait_button() end_time = time.ticks_ms() reaction_time = time.ticks_diff(end_time, start_time) total_time = total_time - reaction_time presses = presses + 1 display.print("Reaction time:") display.print(str(reaction_time) + " milliseconds") display.print("") display.print("Health: " + str(total_time)) display.print("") display.print("Score: " + str(presses)) display.print("") time.sleep(1) display.clear() display.print("Game Over!") display.print("") display.print("Score: " + str(presses)) display.print("") # TODO fix the following so user can keep playing # display.print("Press Button A to \nplay again") # display.print("") # wait_button() # total_time = 1000 # presses = 0 repeat = 0 while repeat < 3: pixels.set([RED, GREEN, RED, GREEN]) time.sleep(0.2) pixels.set([GREEN, RED, GREEN, RED]) time.sleep(0.2) repeat = repeat + 1